package ${package};

import org.springframework.stereotype.Component;

import com.xy.ddd.core.repository.AbstractRepository;
import com.xy.ddd.core.convertor.AbstractConvertor;
import com.xy.ddd.core.convertor.DefaultConvertor;

import ${props['poPackage']}.${tableClass.shortClassName};
import ${props['modelPackage']}.${tableClass.shortClassName}DomainModel;
import ${props['mapperPackage']}.${tableClass.shortClassName}Mapper;
import ${props['repositoryPackage']}.${tableClass.shortClassName}Repository;


@Component
public class ${tableClass.shortClassName}RepositoryImpl extends AbstractRepository<${tableClass.shortClassName}DomainModel, ${tableClass.shortClassName}, ${tableClass.shortClassName}Mapper> implements ${tableClass.shortClassName}Repository{

    private AbstractConvertor<${tableClass.shortClassName}DomainModel, ${tableClass.shortClassName}> convertor = new DefaultConvertor<${tableClass.shortClassName}DomainModel, ${tableClass.shortClassName}>(){};

    @Override
    public AbstractConvertor<${tableClass.shortClassName}DomainModel, ${tableClass.shortClassName}> convertor() {
        return convertor;
    }

}